package com.kexio;

import org.mybatis.spring.annotation.MapperScan;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import com.kexio.auth.annotation.EnableKexioAuth;

/**
 * Kexio应用启动类
 * 
 * 集成所有业务模块和框架模块的统一启动入口
 * 
 * @author Kexio Team
 * @since 1.0.0
 */
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableKexioAuth
@MapperScan(basePackages = "com.kexio", annotationClass = Mapper.class, 
            lazyInitialization = "false")  // 非懒加载，确保启动时就加载所有 Mapper
@EnableCaching
@EnableTransactionManagement
public class KexioApplication {

    public static void main(String[] args) {

        SpringApplication.run(KexioApplication.class, args);


    }
}
